import Toast from '@vant/weapp/dist/toast/toast';
import { getToken, removeToken } from "../auth";

export async function responseHandle(res) {

  if (typeof res.data === "string") {
    res.data = JSON.parse(res.data);
  }

  // 响应成功，业务失败
  if (res.status === 200 || res.statusCode === 200) {
    const { code } = res.data;
    if (code == 200 && res.data && res.data.state < 1 && res.data.remark) {
      Toast.fail({
        message: res.data.remark,
        forbidClick: true,
      });
      return Promise.reject(res);
    } else if (code !== 200) {
      Toast.fail(res.data.message);
      return Promise.reject(res);
    }
    return res.data;
  }

  // 处理401 token 失效问题
  else if (res.status === 401 || res.statusCode === 401 || res.code === 401) {
    Toast.fail({
      message: "登录已失效",
      forbidClick: true,
      onClose() {
        removeToken();
        uni.navigateTo({ url: "/pages/wxlogin/index" });
        return Promise.reject(() => { });
      }
    });
  }

  else if (res.status === 413 || res.statusCode === 413) {
    Toast.fail({
      message: "图片文件过大",
      forbidClick: true,
    });
    return Promise.reject(res);
  }

  else {
    if (res.data?.message) {
      Toast.fail({
        message: res.message || res.data.message,
        forbidClick: true,
      });
    }
    return Promise.reject(res);
  }



}